package com.easylinkin.linkappapi.meterbilling.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * class info :房间消费账单（记录每天水电表消费扣款数据）
 *
 * @author liuqihang
 * @date 2021/7/16 14:57
 */
@Data
@Accessors(chain = true)
@TableName(value = "cbjf_room_expenses_bill")
public class RoomExpensesBill {

    @TableId(type= IdType.AUTO)
    private Integer id;

    /**
     * 合同ID
     */
    @TableField(value = "contract_id")
    private Integer contractId;

    /**
     * 结算开始时间
     */
    @TableField(value = "settlement_time_start")
    private Date settlementTimeStart;

    /**
     * 结算结束时间
     */
    @TableField(value = "settlement_time_end")
    private Date settlementTimeEnd;

    /**
     * 结算时间段内的能耗
     */
    @TableField(value = "energy_amount")
    private BigDecimal energyAmount;


    @TableField(value = "device_code")
    private String deviceCode;

    /**
     * 消费金额
     */
    @TableField(value = "consume_fee")
    private BigDecimal consumeFee;

    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 扣费状态（0：成功，1：失败）
     */
    @TableField(value = "deduction_status")
    private Integer deductionStatus;

    /**
     * 能耗异常状态（0：正常，1：异常）
     */
    @TableField(value = "exception_status")
    private Integer exceptionStatus;

    /**
     * 计费标准ID(历史)
     */
    @TableField(value = "billing_id")
    private Integer billingId;

    /**
     * 计费标准版本号(历史)
     */
    @TableField(value = "version")
    private Integer version;

    /**
     * 0：自动扣费，1：补录扣费
     */
    @TableField(value = "remedy_status")
    private Integer remedyStatus;

    /**
     * 计算止码
     */
    @TableField(value = "end_read_amount")
    private BigDecimal endReadAmount;

    /**
     * 操作人
     */
    @TableField(value = "operator")
    private String operator;

}
